#include<bitsdc++.h>
using namespace std;

int next_step[4][2]={0,1,-1,0,0,-1,1,0};
int sum=1,m,n;
int num[1005][1005];
char vis[1005][1005];

bool check(int x,int y){
	if(vis[x][y]=='#') return false;
	if(x<0||y<0) return false;
	if(x>=n||y>=m) return false;
	return true;
}

void dfs(int x,int y){
	vis[x][y]='#';
	num[x][y]=sum;
	for(int k=0;k<4;k++){
		int dx=next_step[k][0]+x;
		int dy=next_step[k][1]+y;
		if(check(dx,dy)){
			dfs(dx,dy);
		}
	}
}

int main(){
	int t;
	cin>>t;
	while(t--){
		cin>>n>>m;
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				num[i][j]=0;
				vis[i][j]='#';
				cin>>vis[i][j];
			}
		}
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				if(vis[i][j]=='*'){
					if(sum==25){
						sum=1;
					}
					dfs(i,j);
					sum++;
				}
			}
		}
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				cout<<num[i][j]<<" ";
			}
			cout<<endl;
		}
		cout<<endl;
		sum=1;
	}
}
